|
|
|
|
|
|
|
Q How can you help other developers use your design patterns in their subsystems? |
|
|
|
|
|
|
|
|
A By describing the scenarios for which the pattern applies. When possible, detail the participating objects and their interactions. Most importantly, explain what motivated you to come up with the pattern in the first place. The design pattern itself should be abstract so that you can implement it easily in more than one subsystem or component that experiences the same problem in different ways. |
|
|
|
|
|
|
|
|
Q What is a negative consequence of using a design pattern? |
|
|
|
|
|
|
|
|
A At a technical level, the implementation of a design pattern can lead to increased resource consumption. However, the trade-off here is that you get better organized code that is easily reusable and can be evolved over time as the customer's needs change. |
|
|
|
|
|
|
|
|
The workshop includes quiz questions to help gauge your grasp of the material. You'll find the answers to this quiz in Appendix A, Answers. Even if you feel that you totally understand the concepts presented here, you should work through the quiz anyway. The last section contains exercises for you to work through to help reinforce your learning. |
|
|
|
|
|
|
|
|
1. What fundamental concepts should a subsystem-based application model reflect? |
|
|
|
|
|
|
|
|
2. What is a helpful prefix you should use for the name of an abstract component? |
|
|
|
|
|
|
|
|
3. How can you decrease the dependency between two subsystems? |
|
|
|
|
|
|
|
|
4. What is involved in analyzing and designing a subsystem interface? |
|
|
|
|
|
|
|
|
5. What is one of the most popular kinds of applications? What typical behaviors does it exhibit? |
|
|
|
|
|
|
|
|
1. Using the ActiveX component built on Day 6, Building and Testing Components, create an abstract component that has a class, AbstractCheckingProduct, with the same methods and properties as the BasicPersonalChecking class. Hint: Follow these steps: |
|
|
|
 |
|
|
|
|
1. Open a new Visual Basic ActiveX DLL project. Create a class called NewBasicPersonalChecking. |
|
|
|
|
|